The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventor, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure. Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in the present disclosure and are not admitted to be prior art by inclusion in this section.
Cloud computing centers may include a data center (also referred to as a “server farm”) that includes a plurality of homogenous and/or heterogeneous computer systems. A workload of a data center may vary over time, with lighter loads often occurring at night, during holidays and on weekends, and heavier loads often occurring in the daytime on weekdays. No matter the workload, task allocation algorithms used in data centers typically allocate jobs among computer systems so that the job completion time is minimized. A computer system may take on multiple jobs without significantly increasing the job completion time of each individual job due to the presence of multi-core computer chips.
Even under light workloads, a data center may consume a significant amount of power. Jobs may be distributed among all computer systems of the data center to minimize run time so that most or all of the computer systems remain up and running at all times, requiring constant power. Power consumption of an individual computer system may be reduced by entering into a power saving mode, such as shut down, sleep, or low power standby.
Division of labor has been observed in ant colonies without centralized control, and has been modeled by a threshold-based algorithm, for instance, for the probability of tending to brood care P(j), where:
            P      ⁡              (        j        )              =                            s          ⁡                      (            t            )                          n                                          s            ⁡                          (              t              )                                n                +                              θ            ⁡                          (              t              )                                n                      ;
such that s(t) represents an intensity of a particular stimulus, and e(t) represents a threshold of responding to s(t). From experiments observing actual ant colony behavior, setting n to 2 approximates the ant behavior the best. An example stimulus is a need of the ant colony for brood care. Smaller ants typically tend to brood care and larger ants work outside the nest. Thus, small ants may have a lower threshold e(t) than larger ants, and hence, a higher probability P(j) of tending to brood care than larger ants. However, If smaller ants are removed from the colony, less brood care may be provided, raising s(t). Once s(t) reaches a certain level, larger ants are likely to begin tending to brood care in spite of their higher threshold.